load("@prysm//tools/go:def.bzl", "go_library")
load("@io_bazel_rules_go//go:def.bzl", "go_test")

go_library(
    name = "go_default_library",
    srcs = [
        "assignments.go",
        "attestations.go",
        "blocks.go",
        "committees.go",
        "config.go",
        "server.go",
        "slashings.go",
        "validators.go",
        "validators_stream.go",
    ],
    importpath = "github.com/prysmaticlabs/prysm/beacon-chain/rpc/beacon",
    visibility = ["//beacon-chain:__subpackages__"],
    deps = [
        "//beacon-chain/blockchain:go_default_library",
        "//beacon-chain/cache/depositcache:go_default_library",
        "//beacon-chain/core/blocks:go_default_library",
        "//beacon-chain/core/epoch/precompute:go_default_library",
        "//beacon-chain/core/feed:go_default_library",
        "//beacon-chain/core/feed/block:go_default_library",
        "//beacon-chain/core/feed/operation:go_default_library",
        "//beacon-chain/core/feed/state:go_default_library",
        "//beacon-chain/core/helpers:go_default_library",
        "//beacon-chain/core/state:go_default_library",
        "//beacon-chain/core/validators:go_default_library",
        "//beacon-chain/db:go_default_library",
        "//beacon-chain/db/filters:go_default_library",
        "//beacon-chain/operations/attestations:go_default_library",
        "//beacon-chain/operations/slashings:go_default_library",
        "//beacon-chain/p2p:go_default_library",
        "//beacon-chain/powchain:go_default_library",
        "//beacon-chain/state:go_default_library",
        "//beacon-chain/state/stategen:go_default_library",
        "//beacon-chain/sync:go_default_library",
        "//proto/beacon/p2p/v1:go_default_library",
        "//shared/aggregation/attestations:go_default_library",
        "//shared/attestationutil:go_default_library",
        "//shared/bytesutil:go_default_library",
        "//shared/cmd:go_default_library",
        "//shared/event:go_default_library",
        "//shared/pagination:go_default_library",
        "//shared/params:go_default_library",
        "//shared/sliceutil:go_default_library",
        "//shared/slotutil:go_default_library",
        "@com_github_gogo_protobuf//types:go_default_library",
        "@com_github_patrickmn_go_cache//:go_default_library",
        "@com_github_prometheus_client_golang//prometheus:go_default_library",
        "@com_github_prometheus_client_golang//prometheus/promauto:go_default_library",
        "@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library",
        "@com_github_sirupsen_logrus//:go_default_library",
        "@org_golang_google_grpc//codes:go_default_library",
        "@org_golang_google_grpc//status:go_default_library",
    ],
)

go_test(
    name = "go_default_test",
    srcs = [
        "assignments_test.go",
        "attestations_test.go",
        "beacon_test.go",
        "blocks_test.go",
        "committees_test.go",
        "config_test.go",
        "slashings_test.go",
        "validators_stream_test.go",
        "validators_test.go",
    ],
    embed = [":go_default_library"],
    shard_count = 4,
    deps = [
        "//beacon-chain/blockchain/testing:go_default_library",
        "//beacon-chain/cache:go_default_library",
        "//beacon-chain/core/epoch/precompute:go_default_library",
        "//beacon-chain/core/feed:go_default_library",
        "//beacon-chain/core/feed/block:go_default_library",
        "//beacon-chain/core/feed/operation:go_default_library",
        "//beacon-chain/core/feed/state:go_default_library",
        "//beacon-chain/core/helpers:go_default_library",
        "//beacon-chain/db:go_default_library",
        "//beacon-chain/db/testing:go_default_library",
        "//beacon-chain/flags:go_default_library",
        "//beacon-chain/operations/attestations:go_default_library",
        "//beacon-chain/operations/slashings:go_default_library",
        "//beacon-chain/p2p/testing:go_default_library",
        "//beacon-chain/state:go_default_library",
        "//beacon-chain/state/stategen:go_default_library",
        "//beacon-chain/sync/initial-sync/testing:go_default_library",
        "//proto/beacon/p2p/v1:go_default_library",
        "//shared/aggregation/attestations:go_default_library",
        "//shared/attestationutil:go_default_library",
        "//shared/bytesutil:go_default_library",
        "//shared/cmd:go_default_library",
        "//shared/mock:go_default_library",
        "//shared/params:go_default_library",
        "//shared/testutil:go_default_library",
        "//shared/testutil/assert:go_default_library",
        "//shared/testutil/require:go_default_library",
        "//shared/timeutils:go_default_library",
        "@com_github_gogo_protobuf//proto:go_default_library",
        "@com_github_gogo_protobuf//types:go_default_library",
        "@com_github_golang_mock//gomock:go_default_library",
        "@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library",
        "@com_github_prysmaticlabs_go_bitfield//:go_default_library",
        "@in_gopkg_d4l3k_messagediff_v1//:go_default_library",
    ],
)
